/*
 * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
 *
 * https://www.mall4j.com/
 *
 * 未经允许，不可做商业用途！
 *
 * 版权所有，侵权必究！
 */

package com.yami.shop.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yami.shop.bean.model.FaceFeature;
import com.yami.shop.common.util.PageParam;

import java.util.List;

/**
 * 五官资源服务
 * @author AI Assistant
 */
public interface FaceFeatureService extends IService<FaceFeature> {

    /**
     * 根据五官类型获取五官资源列表
     * @param featureType 五官类型
     * @param status 状态
     * @return 五官资源列表
     */
    List<FaceFeature> listByFeatureTypeAndStatus(Integer featureType, Integer status);

    /**
     * 分页查询五官资源列表
     * @param page 分页参数
     * @param featureType 五官类型
     * @param status 状态
     * @return 分页结果
     */
    IPage<FaceFeature> pageByFeatureTypeAndStatus(PageParam<FaceFeature> page, Integer featureType, Integer status);

    /**
     * 根据状态获取五官资源列表
     * @param status 状态
     * @return 五官资源列表
     */
    List<FaceFeature> listByStatus(Integer status);

    /**
     * 根据五官类型列表获取五官资源列表
     * @param featureTypes 五官类型列表
     * @param status 状态
     * @return 五官资源列表
     */
    List<FaceFeature> listByFeatureTypesAndStatus(List<Integer> featureTypes, Integer status);

    /**
     * 保存五官资源
     * @param faceFeature 五官资源
     */
    void saveFaceFeature(FaceFeature faceFeature);

    /**
     * 更新五官资源
     * @param faceFeature 五官资源
     */
    void updateFaceFeature(FaceFeature faceFeature);

    /**
     * 删除五官资源
     * @param featureId 五官资源ID
     */
    void deleteFaceFeature(Long featureId);
}